/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.igorov.efficientsoft.services;

import com.igorov.efficientsoft.services.base.BaseDTO;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author igorov
 */
public class PedidoDTO extends BaseDTO{
    private Integer codigo;
    private int codCliente;
    private String nombreCliente;
    private Date fechaPedido;
    private float precioTotal;
    private String condicionVenta;
    private String formaPago;
    private String diasCobrar;
    private boolean estado;
    private boolean pedidoEntregado;
    private int codUsu;
    private float totalPagado;
    
    private Map<String, String> mapaCasos;

    public PedidoDTO() {
        mapearCasos();
    }

    public PedidoDTO(Integer codigo, int codCliente, Date fechaPedido, float precioTotal, String condicionVenta, String formaPago, String diasCobrar, boolean estado, boolean pedidoEntregado, int codUsu, float totalPagado) {
        mapearCasos();
        this.codigo = codigo;
        this.codCliente = codCliente;
        this.fechaPedido = fechaPedido;
        this.precioTotal = precioTotal;
        this.condicionVenta = condicionVenta;
        this.formaPago = formaPago;
        this.diasCobrar = diasCobrar;
        this.estado = estado;
        this.pedidoEntregado = pedidoEntregado;
        this.codUsu = codUsu;
        this.totalPagado = totalPagado;
    }
    
    private void mapearCasos(){
        mapaCasos = new HashMap<String, String>();
        mapaCasos.put("CO", "Contado");
        mapaCasos.put("CR", "Credito");
        mapaCasos.put("C2", "Contado (2 partes)");
        mapaCasos.put("S", "Semanal");
        mapaCasos.put("Q", "Quincenal");
        mapaCasos.put("M", "Mensual");
    }
    
    public Object[] toArray(){
        Object[] obj = new Object[8];
        obj[0] = this.codigo;
        obj[1] = this.fechaPedido;
        obj[2] = this.precioTotal;
        obj[3] = this.totalPagado;
        obj[4] = mapaCasos.get(this.condicionVenta);
        obj[5] = mapaCasos.get(this.formaPago);
        
        if (this.pedidoEntregado) {
            obj[6] = "Entregado";
        } else{
            obj[6] = "No entregado";
        }
        
        obj[7] = nombreCliente;
        
        return obj;
    }

    public String getNombreCliente() {
        return nombreCliente;
    }

    public void setNombreCliente(String nombreCliente) {
        this.nombreCliente = nombreCliente;
    }

    public int getCodCliente() {
        return codCliente;
    }

    public void setCodCliente(int codCliente) {
        this.codCliente = codCliente;
    }

    public int getCodUsu() {
        return codUsu;
    }

    public void setCodUsu(int codUsu) {
        this.codUsu = codUsu;
    }

    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }

    public String getCondicionVenta() {
        return condicionVenta;
    }

    public void setCondicionVenta(String condicionVenta) {
        this.condicionVenta = condicionVenta;
    }

    public String getDiasCobrar() {
        return diasCobrar;
    }

    public void setDiasCobrar(String diasCobrar) {
        this.diasCobrar = diasCobrar;
    }

    public boolean isEstado() {
        return estado;
    }

    public void setEstado(boolean estado) {
        this.estado = estado;
    }

    public Date getFechaPedido() {
        return fechaPedido;
    }

    public void setFechaPedido(Date fechaPedido) {
        this.fechaPedido = fechaPedido;
    }

    public String getFormaPago() {
        return formaPago;
    }

    public void setFormaPago(String formaPago) {
        this.formaPago = formaPago;
    }

    public boolean isPedidoEntregado() {
        return pedidoEntregado;
    }

    public void setPedidoEntregado(boolean pedidoEntregado) {
        this.pedidoEntregado = pedidoEntregado;
    }

    public float getPrecioTotal() {
        return precioTotal;
    }

    public void setPrecioTotal(float precioTotal) {
        this.precioTotal = precioTotal;
    }

    public float getTotalPagado() {
        return totalPagado;
    }

    public void setTotalPagado(float totalPagado) {
        this.totalPagado = totalPagado;
    }
}
